1. Field of the Invention
The present invention relates to the field of distributed computing. More specifically, the present invention relates to distribution of binary executables and content in a distributed manner, from peer locations or machines (hereinafter, simply peer locations).
2. Background Information
As a result of improvements in processing power, storage capacity, and connection bandwidth, the Internet is evolving from a set of powerful servers and slow, intermittently-connected clients to a network where clients are powerful and often linked by high-speed, always-on connections.
At the same time, the Web has become an important medium for the distribution of digital content. Many software applications (such as, for instance, virus detection applications, computer games, educational materials and videos, software updates, paid music subscription services, etc.) use the Web as the primary means of distribution for their binaries, for updates of those binaries, and for distributing up-to-date data or content files. And digital media distribution via the Web has become common for many categories of content.
With large files, the central server model of distribution becomes a significant bottleneck for both the Web site and the end-user. Software application developers must spend significant time, effort and money to maintain and scale Web operations as the rate of download of their applications grows. Content producers must similarly develop core competencies in network operations to manage distribution. And user experience for downloading files from popular and overloaded servers is often poor.
Content Delivery Networks (CDNs) have emerged to partially address this solution by caching software, media and Web content at “edge” servers located closer on the network to end-user machines. Yet the cost to the CDNs of maintaining these edge servers is high, and thus so is the cost of the service to the Web sites.
A significant opportunity for content distribution that has not been leveraged to date exists in the under-utilized bandwidth, storage, and processing capabilities of user machines at the edges of the Internet. Content and application businesses have numerous users with powerful computers and high-speed connections that are currently mainly used unidirectionally, namely for downloading content. Many of these users would be willing to share some of their available upstream bandwidth in return for a better download experience, especially since they would not have to pay for this additional bandwidth, given the flat-rate pricing for most consumer ISPs.
A Distributed Content Distribution Network (D-CDN) that could leverage the unused storage resources and upstream bandwidth on end-user machines would not only provide huge savings in terms of operating costs for content and application businesses that distribute their data on the Web, but would also improve the end-user experience by offering improved scalability with demand, and thus faster and more reliable downloads.
Accordingly, such a D-CDN is desired.